package cn.outsourcing.supermarket.service;

import cn.outsourcing.supermarket.common.CommonPage;
import cn.outsourcing.supermarket.common.PageResult;
import cn.outsourcing.supermarket.dto.OnlyIdPayloadDTO;
import cn.outsourcing.supermarket.dto.backstage.BackstageAdInfoDTO;
import cn.outsourcing.supermarket.dto.backstage.BackstageUpdateStatusDTO;
import cn.outsourcing.supermarket.po.HiolabsAd;
import cn.outsourcing.supermarket.vo.backstage.BackstageAdInfoVO;
import cn.outsourcing.supermarket.vo.backstage.BackstageRelateVO;
import cn.outsourcing.supermarket.vo.hiolabs.HiolabsAdVO;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 广告表 服务类
 *
 * @author gzkemays
 * @since 2021-10-22
 */
public interface HiolabsAdService extends IService<HiolabsAd> {
  /**
   * 获取广告分页列表
   *
   * @param page 页数
   * @return 广告列表
   */
  PageResult<BackstageAdInfoVO> getAdListPageList(CommonPage page);

  /**
   * 更新广告状态
   *
   * @param dto 状态对象
   * @return 更新结果
   */
  String saleStatus(BackstageUpdateStatusDTO dto);

  /**
   * 获取广告详情
   *
   * @param dto id
   * @return 广告详情
   */
  HiolabsAdVO info(OnlyIdPayloadDTO dto);

  /**
   * 保存编辑内容
   *
   * @param dto 编辑内容
   * @return 广告详情
   */
  HiolabsAdVO store(BackstageAdInfoDTO dto);
  // TODO：广告商品
  PageResult<BackstageRelateVO> getRelates();

  /**
   * 删除广告信息
   *
   * @param dto 广告id
   * @return 删除结果
   */
  Integer destroyAd(OnlyIdPayloadDTO dto);
}
